var util = require('../../../utils/util.js');
var api = require('../../../config/api.js');

var app = getApp();

Page({
  data: {
    couponList: [],
    code: '',
    status: 0,
    page: 1,
    size: 10,
    count: 0,
    scrollTop: 0,
    showPage: false,
    pointsNum:'',
    yhqNum:0
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    this.getCouponList();
    let pointsNum = wx.getStorageSync('points');
    this.setData({
      pointsNum:pointsNum
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  },
  getCouponList: function() {

    let that = this;
    that.setData({
      scrollTop: 0,
      showPage: false,
      couponList: []
    });
    util.request(api.CouponList, {
    type:3 
    }).then(function(res) {
      console.log('测试执行',res);
      if (res.errno === 0) {
        console.log('获取兑换券列表', res.data.data);
        that.setData({
          scrollTop: 0,
          couponList: res.data.data,
          showPage: false,
          count: res.data.count
        });
      }
    });

  },
  bindExchange: function (e) {
    this.setData({
      code: e.detail.value
    });
  },
  clearExchange: function () {
    this.setData({
      code: ''
    });
  },
  goExchange: function() {
    if (this.data.code.length === 0) {
      util.showErrorToast("请输入兑换码");
      return;
    }

    let that = this;
    util.request(api.PointsExchange, {
      code: that.data.code
    }, 'POST').then(function (res) {
      if (res.errno === 0) {
        that.getCouponList();
        that.clearExchange();
        wx.showToast({
          title: "领取成功",
          duration: 2000
        })
      }
      else{
        util.showErrorToast(res.errmsg);
      }
    });
  },
  nextPage: function(event) {
    var that = this;
    if (this.data.page > that.data.yhqNum / that.data.size) {
      return true;
    }

    that.setData({
      page: that.data.page + 1
    });

    this.getCouponList();

  },
  prevPage: function(event) {
    if (this.data.page <= 1) {
      return false;
    }

    var that = this;
    that.setData({
      page: that.data.page - 1
    });
    this.getCouponList();
  },
  switchTab: function(e) {

    this.setData({
      couponList: [],
      status: e.currentTarget.dataset.index,
      page: 1,
      size: 10,
      count: 0,
      scrollTop: 0,
      showPage: false
    });

    this.getCouponList();
  },
  getCoupon(e){
    var that = this;
    var itemPoints= e.currentTarget.dataset.item
    let userInfo = wx.getStorageSync('userInfo');
    if(that.data.pointsNum.points < itemPoints.points){
      wx.showToast({ title: '积分不够', icon: 'none', duration: 1000 })
      return
    }
 
   let startTime = new Date().toISOString().substring(0, 10)
  let currentDate = new Date();  
  let daysToAdd = itemPoints.days; // 假设我们要加5天  
   currentDate.setDate(currentDate.getDate() + daysToAdd);  
// 使用示例  
let dateString = currentDate  
let endTime = this.formatDateStringToYYYYMMDD(dateString);  
console.log('开始结束时间',startTime,endTime); // 输出: "2024-05-05
let yhq = {
           uid:userInfo.userId,
            point:itemPoints.points,
            couponId:itemPoints.id,
            startTime:startTime,
            endTime:endTime
} 

    wx.showModal({
      title: '积分',
      content: '是否兑换？',
      success (res) {
        if (res.confirm) {
          console.log('用户点击确定')
          util.request(api.PointsExchange,{
            userId:userInfo.userId,
            point:itemPoints.points,
            couponId:itemPoints.id,
            startTime:startTime,
            endTime:endTime
          },'POST').then(function(res){
          var pointsNumS = that.data.pointsNum.points - itemPoints.points
          var pointsXG = that.data.pointsNum
          pointsXG.points = pointsNumS
          that.setData({
          pointsNum:pointsXG
          })
           wx.setStorageSync('points',pointsXG);
            
          })
        } else if (res.cancel) {
        
          console.log('用户点击取消')
        }
      }
    })
  },
  formatDateStringToYYYYMMDD(dateString) {  
    // 创建一个 Date 对象  
    let date = new Date(dateString);  
    
    // 验证 Date 对象是否有效  
    if (isNaN(date.getTime())) {  
      throw new Error('Invalid date string');  
    }  
    
    // 使用 getFullYear, getMonth (注意月份是从0开始的，所以需要加1), getDate 来格式化日期  
    let year = date.getFullYear();  
    let month = ('0' + (date.getMonth() + 1)).slice(-2); // 补零  
    let day = ('0' + date.getDate()).slice(-2); // 补零  
    
    // 组合日期字符串  
    let formattedDate = year + '-' + month + '-' + day;  
    
    // 返回格式化后的日期字符串  
    return formattedDate;  
  }  
})